/**
 * any 类型
 *
 *    是顶层类型，所有类型都可以分配给 any 类型。
 *    any 类型，会跳过 ts 的类型检查
 *
 * unknown 类型
 *
 *    与 any 类型一样，也是顶层类型，所有类型都可以分配给 unknown 类型。
 *    相比较 any 类型来说，主要有一个类型安全上的校验
 */

let a;

/**
 * ts 默认规则是，不允许有隐私的any类型
 *    1. "noImplicitAny": false
 *    2. 主动标注好类型
 */
function sayHi(name) {
  console.log("name", name);
}

let msg: any;

msg = 10;
msg = "string";
msg = true;
msg = [1, 2];

msg.toString();
msg.name;

let msg2: unknown;
msg2 = 10;
msg2 = "string";
msg2 = true;
msg2 = [1, 2];

msg2.toString();
msg2.name;

export default {};
